package com.skzh.history.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.skzh.common.annotation.Excel;
import com.skzh.common.core.domain.BaseEntity;

/**
 * 任务执行记录对象 task_exec_record
 *
 * @author skzh
 * @date 2025-04-08
 */
@Data
public class TaskHistory extends BaseEntity {

    private static final long serialVersionUID=1L;

    /** 记录ID */
    private Long recordId;

    /** 任务ID */
    @Excel(name = "任务ID" )
    private Long taskId;

    /** 执行时间 */
    @JsonFormat(pattern = "yyyy-MM-dd" )
    @Excel(name = "执行时间" , width = 30, dateFormat = "yyyy-MM-dd" )
    private Date execTime;

    /** 执行状态（  '0': '开始执行',    '1': '执行完成',    '2': '执行失败',    '3': '任务暂停',    '4': '任务终止'） */
    @Excel(name = "执行状态" , readConverterExp = "'=0':,'=开始执行',,'=1':,'=执行完成',,'=2':,'=执行失败',,'=3':,'=任务暂停',,'=4':,'=任务终止'" )
    private String status;

    /** 错误信息 */
    @Excel(name = "错误信息" )
    private String errorMsg;

    /** 飞手姓名 */
    @Excel(name = "飞手姓名" )
    private String pilotName;

    /** 所属组织 */
    @Excel(name = "所属组织" )
    private Integer deptId;

    private String deptName;

    /** 设备名称 */
    @Excel(name = "设备名称" )
    private String droneName;

    /**机场名称*/
    private String dockName;

    /** 飞行地点 */
    @Excel(name = "飞行地点" )
    private String flightLocation;

    /** 飞行信息（包含飞行参数、环境等详细信息） */
    @Excel(name = "飞行信息" , readConverterExp = "包=含飞行参数、环境等详细信息" )
    private String flightInfo;

    /** 是否收藏（1表示已收藏，0表示未收藏） */
    @Excel(name = "是否收藏" , readConverterExp = "1=表示已收藏，0表示未收藏" )
    private Integer isCollected;

    @Excel(name = "任务信息" )
    private String taskName;

    /** 日期范围 */
    private Date startTime;
    private Date endTime;

    /** 有无视频（1表示有视频，0表示没视频） */
    private Integer hasVideo;

    /** 航线id*/
    private Integer fpId;
}
